<?php
/*
 * Created by generator
 *
 */

class professeur_model extends Model {
	
	/**
	* Identifiant
	* @var int
	*/
	var $proidpro;

	/**
	* Nom du professeur
	* @var varchar(255)
	*/
	var $prolbnom;

	/**
	* Prénom du professeur
	* @var varchar(255)
	*/
	var $prolbprn;

	/**
	* Téléphone fixe et/ou mobile
	* @var varchar(50)
	*/
	var $prolbtel;

	/**
	* Adresse e-mail du professeur
	* @var varchar(255)
	*/
	var $prolbmai;

	/**
	* Compétences techniques, résultats, diplomes, etc. (mini CV)
	* @var varchar(4000)
	*/
	var $protxcmp;

	/**
	* Taux horaire en Euro
	* @var varchar(4000)
	*/
	var $promotxh;
	
	/**
	 * Constructeur
	 */
	function professeur_model(){
		parent::Model();
		$this->load->helper('professeur');
		$this->load->helper('stats');
		
	}
	
	/************************************************************************
	 * Methodes de mise a jour a partir de la base de donnees
	 ************************************************************************/

	/**
	 * Cree une nouvelle instance a partir d'un enregistrement de base de donnees
	 */
	static function professeur_modelFromRow($row){
		$model = new professeur_model();
		$model->proidpro = $row['proidpro'];
		$model->prolbnom = $row['prolbnom'];
		$model->prolbprn = $row['prolbprn'];
		$model->prolbtel = $row['prolbtel'];
		$model->prolbmai = $row['prolbmai'];
		$model->protxcmp = $row['protxcmp'];
		$model->promotxh = $row['promotxh'];
		return $model;
	}

	/**
	 * recupere tous les enregistrements
	 * @param $db connexion a la base de donnees
	 */
	static function getAllprofesseurs($db, $orderBy){
		$rows = getAllprofesseursFromDB($db, $orderBy);
		$records = array();
		foreach ($rows as $row) {
			$records[$row['proidpro']] = professeur_model::professeur_modelFromRow($row);
		}
		return $records;
	}
	
	/**
	 * Recupere l'enregistrement a partir de son id
	 * @param $db connexion a la base de donnees
	 * @param $proidpro identifiant de l'enregistrement a recuperer
	 */
	static function getprofesseur($db, $proidpro){
		$row = getprofesseurRow($db, $proidpro);
		return professeur_model::professeur_modelFromRow($row);
	}
	
	/**
	 * Suppression d'un enregistrement
	 * @param $db connexion a la base de donnees
	 * @param $proidpro identifiant de l'enregistrement a supprimer
	 */
	static function delete($db, $proidpro){
		deleteprofesseur($db, $proidpro);
	}

	/**
	 * Enregistre en base un nouvel enregistrement
	 * @param $db connexion a la base de donnees
	 */
	public function save($db){
		$this->proidpro = insertNewprofesseur($db, $this->prolbnom, $this->prolbprn, $this->prolbtel, $this->prolbmai, $this->protxcmp, $this->promotxh);
	}

	/**
	 * Mise a jour des donnees d'un enregistrement
	 * @param $db connexion a la base de donnees
	 */
	public function update($db){
		updateprofesseur($db, $this->proidpro, $this->prolbnom, $this->prolbprn, $this->prolbtel, $this->prolbmai, $this->protxcmp, $this->promotxh);
	}

	
	/***************************************************************************
	 * USER DEFINED FUNCTIONS
	 ***************************************************************************/

	public function getCoutSaison($db, $saiidsai){
		return getCoutProfesseurSaison($db, $this->proidpro, $saiidsai);
	}
	
}

?>
